package com.greensam.pixelengine.pojo.emuns;

import lombok.Getter;

/**
 * 自定义错误码
 *
 * @author Macro_Ray
 * @since 2025/6/13 14:32
 */
@Getter
public enum ErrorCodeEnum {

    ParamValidError("001", Module.BASE, "参数校验失败"),
    FileUploadError("002", Module.BASE, "文件上传失败"),
    FileDownloadError("003", Module.BASE, "文件下载失败"),

    OperationDataError("001", Module.DATA, "操作数据失败"),
    DataNotExist("002", Module.DATA, "数据不存在"),
    UserIsExist("003", Module.DATA, "用户已经存在"),
    UserIsNotExist("004", Module.DATA, "用户不存在"),

    UserLoginError("005", Module.DATA, "账号不存在或密码错误"),

    PictureNotExist("006", Module.DATA, "图片不存在"),
    RoleNotExist("007", Module.DATA, "角色不存在"),
    SpaceNotExist("008", Module.DATA, "空间不存在"),


    ;
    private final int code;

    private final String message;

    ErrorCodeEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    ErrorCodeEnum(String code, Module module, String message) {
        this.code = Integer.parseInt(module.module + code);
        this.message = message;
    }

    enum Module {
        /**
         * 基础/系统
         */
        BASE(10),
        /**
         * 数据模块
         */
        DATA(11),

        ;

        Module(Integer module) {
            this.module = module;
        }

        private final int module;
    }

}
